<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 不用写


        // 函数设计：url method  data  传一个settings{}

        function axiosPro(settings) {
            // 1. 返回一个promise对象
            return new Promise((resolve, reject) => {
                // 2.参数初始化
                let method = settings.method || "GET";
                let data = settings.data || "";
                // 3. 创建一个xhr对象
                let xhr = new XMLHttpRequest();
                // 4. 判断请求类型
                if (method == "GET") {
                    // data   name=aa&age=1
                    // 4.1 get 传参  url链接上拼接
                    xhr.open(method, settings.url + "?" + data);
                    xhr.send();
                } else if (method == "POST") {
                    xhr.open(method, settings.url);
                    // 4.2 post 传参  send（name=aa&age=1）  必须设置请求头
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.send(data);
                }

                // 5. 监听函数
                xhr.onreadystatechange = () => {
                    if (xhr.readyState == 4 && xhr.status == 200) {
                        // 5.1 请求成功
                        resolve(xhr.responseText);
                    }
                }
                // 5.2请求失败
                xhr.onerror = () => {
                    reject("对不起，我错了")
                }
            })
        }

        // axiosPro({
        //     url: "http://kumanxuan1.f3322.net:8809/travels/query",
        //     method: "GET",
        //     data: "orderType=1&currentPage=1"
        // }).then(res => {
        //     console.log(res);
        // }).catch(err => {
        //     console.log(err);
        // })

        axiosPro({
            url: "http://kumanxuan1.f3322.net:8809/users/login",
            method: "POST",
            data: "username=123&password=123"
        }).then(res => {
            console.log(res);
        }).catch(err => {
            console.log(err);
        })
    </script>
</body>

</html>